--- 模块功能：LCD适配
-- @author openLuat
-- @module ui.lcd
-- @license MIT
-- @copyright openLuat
-- @release 2018.03.27
-- 根据自己的lcd类型以及使用的spi引脚，打开下面的其中一个文件进行测试
-- mono表示黑白屏，color表示彩屏
-- std_spi表示使用标准的SPI引脚，lcd_spi表示使用LCD专用的SPI引脚
-- i2c表示使用i2c引脚
-- require "mono_std_spi_sh1106"
-- require "mono_lcd_spi_ssd1306"
-- require "mono_std_spi_st7567"
-- require "color_std_spi_st7735"
-- require "color_std_spi_st7735l"
-- require "color_std_spi_ILI9341"
-- require "color_lcd_spi_ILI9341"
-- require "mono_lcd_spi_sh1106"
-- require "mono_lcd_spi_ssd1306"
-- require "mono_lcd_spi_st7567"
require "color_lcd_spi_st7735"
-- require "color_lcd_spi_st7735S"
-- require "color_lcd_spi_gc9106l"
-- require "color_lcd_spi_gc9a01"
-- require "mono_i2c_ssd1306"
-- require "mipi_lcd_ILI9806E"
-- require "mipi_lcd_GC9503"
-- require "mono_lcd_spi_st75256"
-- require "mono_lcd_spi_SH1108"
--module(..., package.seeall)

-- LCD分辨率的宽度和高度(单位是像素)
WIDTH, HEIGHT, BPP = disp.getlcdinfo()
-- 1个ASCII字符宽度为8像素，高度为16像素；汉字宽度和高度都为16像素
CHAR_WIDTH = 8


sys.taskInit(function()
    while true do
        --清空LCD显示缓冲区
        disp.clear()

        disp.puttext("HELLO", 10, 10)
        disp.update() sys.wait(100)

        disp.puttext(common.utf8ToGb2312("欢迎使用Luat"), 10, 20)
        disp.update() sys.wait(1000)
        
        disp.puttext(common.utf8ToGb2312("经度:"..longitude), 10, 40)
        longitude = ""
        disp.update() sys.wait(1000)

        disp.puttext(common.utf8ToGb2312("纬度："..latitude), 10, 60)
        latitude = ""
        disp.update() sys.wait(1000)

        disp.puttext(common.utf8ToGb2312("测试开始了----"), 10, 100)
        disp.update() sys.wait(1000)
        
        --显示logo图片
        --disp.putimage("/lua/logo_color_240X320.png",0,80)
        disp.putimage("/lua/logo_color.png",0,0)
        disp.update() 
        sys.wait(1000)

    end
end)






--[[
函数名：getxpos
功能  ：计算字符串居中显示的X坐标
参数  ：
str：string类型，要显示的字符串
返回值：X坐标

function getxpos(str)
    return (WIDTH - string.len(str) * CHAR_WIDTH) / 2
end

function setcolor(color)
    if BPP ~= 1 then
        return disp.setcolor(color)
    end
end
]]